/* 
接收一个可迭代对象（通常是数组），返回一个新的 Promise，其结果取决于最先完成（
无论成功还是失败）的那个 Promise。
*/
function myPromiseRace(promises) {
  return new Promise((resolve, reject) => {
    let promiseArray = Array.from(promises);
    if (promiseArray.length === 0) {
        //不要resolve(promiseArray) 因为空数组不会执行这个函数 race
      return;
    }
    promiseArray.forEach((promise, index) => {
      Promise.resolve(promise)
      .then((result) => {
        resolve(result)
      })
      .catch((error)=>{
        reject(error)
      })
    });
  });
}
